package com.lh.tams.dao;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Repository;

import com.lh.tams.dao.base.HibernateBaseDao;
import com.lh.tams.domain.TamsParty;
import com.lh.tams.util.DataGridModel;
import com.lh.tams.util.Page;
import com.lh.tams.util.Status;

@Repository
public class PartyDao extends HibernateBaseDao {
	private static final Log logger=LogFactory.getLog(PartyDao.class);
	
	/**
	 * 分页查询
	 * @param dgm
	 * @param caseNo
	 * @return
	 */
	public Page query(DataGridModel dgm,String caseNo){
		List<Object> args=new ArrayList<Object>();
		StringBuilder hql=new StringBuilder();
		hql.append("from TamsParty p where 1=1");
		if(caseNo!=null&& !"".equals(caseNo)){
			hql.append(" and p.caseNo like ?");
			args.add("%"+caseNo+"%");
		}
//		if(party.getCaseNo()!=null&& !"".equals(party.getCaseNo())){
//			hql.append(" and p.caseNo like ?");
//			args.add("%"+party.getCaseNo()+"%");
//		}
//		if(party.getIdentityNo()!=null&& !"".equals(party.getIdentityNo())){
//			hql.append(" and p.identityNo like ?");
//			args.add("%"+party.getIdentityNo()+"%");
//		}
//		if(party.getPartyName()!=null&& !"".equals(party.getPartyName())){
//			hql.append(" and p.partyName like ?");
//			args.add("%"+party.getPartyName()+"%");
//		}
//		if(party.getPhone()!=null&& !"".equals(party.getPhone())){
//			hql.append(" and p.phone like ?");
//			args.add("%"+party.getPhone()+"%");
//		}
		return super.queryForList(hql.toString(), args.toArray(), dgm.getPage(), dgm.getRows());
	}
	
	
	/**
	 * 根据caseNo查询当事人
	 * @param caseNo
	 * @return 认定情况
	 */
	public String query(String caseNo){
		List<Object> args=new ArrayList<Object>();
		StringBuilder hql=new StringBuilder();
		hql.append("from TamsParty p where p.caseNo=?");
		args.add(caseNo);
		Page page = super.queryForList(hql.toString(), args.toArray(), 1, 50);
		List<TamsParty> list = page.getRows();
		StringBuilder sb = new StringBuilder();
		for(TamsParty p:list){
			String duty = "";
			String content = "";
			if(p.getDutyType()==Status.DUTY_MAIN){
				duty = "主责";
			}else if(p.getDutyType()==Status.DUTY_MINOR){
				duty = "次责";
			}else if(p.getDutyType()==Status.DUTY_OTHER){
				duty = "同责";
			}else if(p.getDutyType()==Status.DUTY_NO){
				duty = "无责";
			}else if(p.getDutyType()==Status.DUTY_ALL){
				duty = "全责";
			}
			if(p.getDutyContent()==Status.CIVIL){
				content = "民事";
			}else if(p.getDutyContent()==Status.PENAL){
				content = "刑事";
			}
			sb.append(p.getPartyName()+","+p.getIdentityNo()+","+duty+","+content+"\r");
		}
		return sb.toString();
	}
	
	/**
	 * 批量删除
	 * @param ids
	 */
	public void delete(long[] ids){
		super.delete("TAMS_PARTY", ids);
	}
}
